#pragma once
#include <boost/signals2/signal.hpp>
#include <nice2d/component.h>

#define SPRITE_STATUS_DEATH  0
#define SPRITE_STATUS_NORMAL 1

class SpriteStatus final : public Component
{
    DECLARE_OBJECT(SpriteStatus)
public:
    SpriteStatus();
    ~SpriteStatus();
public:
    void setSpriteStatus(int status);
    boost::signals2::signal<void(std::shared_ptr<Sprite>, int)> statusChanged;

    int getSpriteStatus()const;
private:
    std::unique_ptr<class SpriteStatusData> data;
};
